# КЛАВИША МОДИФИКАТОР
set $mod Mod4

#АВТОЗАПУСК
exec --no-startup-id xrandr --output HDMI-A-0 --set TearFree on
exec --no-startup-id xrandr --output eDP --set TearFree on
exec --no-startup-id nitrogen --restore &
exec --no-startup-id ~/.config/i3/sh/picom-restart.sh &
exec --no-startup-id ~/.config/i3/sh/polybar-restart.sh &

# ГОРЯЧИЕ КЛАВИШИ
bindsym $mod+f exec --no-startup-id thunar
bindsym $mod+w exec --no-startup-id firefox
bindsym $mod+i exec --no-startup-id flameshot gui
bindsym $mod++Shift+i exec --no-startup-id flameshot screen

# ПРИВЯЗКА К ВОРКСПЕЙСАМ
assign [class="firefox"] $ws2
assign [class="code"] $ws5
assign [class="Telegram"] $ws7
assign [class="discord"] $ws9
assign [class="steam"] $ws10



# ПЛАВАЮЩИЕ ПРИЛОЖЕНИЯ
for_window [class="Firefox"] floating enable
for_window [class="Firefox"] move absolute position center
for_window [class="Telegram"] floating enable
for_window [class="Telegram"] move absolute position center
for_window [class="Nitrogen"] floating enable
for_window [class="Nitrogen"] move absolute position center
for_window [class="Pavucontrol"] floating enable
for_window [class="Pavucontrol"] move absolute position center


# КНОПКИ УПРАВЛЕНИЯ ГРОМКОСТЬЮ ДЛЯ ПУЛЬСАУДИО
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status

# КНОПКИ УПРАВЛЕНИЯ ЯРКОСТЬЮ ЭКРАНА
bindsym XF86MonBrightnessUp exec --no-startup-id light -A 10
bindsym XF86MonBrightnessDown exec --no-startup-id light -U 10

# МОДИФИКАТОР ДЛЯ УПРАВЛЕНИЯ ОКНОМ МЫШЬЮ
floating_modifier $mod

# ЗАПУСК ТЕРМИНАЛА
bindsym $mod+Return exec --no-startup-id alacritty


# ЗАКРЫТЬ ОКНО
bindsym $mod+q kill
bindsym --release $mod+Escape exec --no-startup-id xkill

# СМЕНА ФОКУСА НА ДРУГОЕ ОКНО
#bindsym $mod+left focus left
#bindsym $mod+down focus down
#bindsym $mod+up focus up
#bindsym $mod+semicolon focus right

# АЛЬТЕРНАТИВНАЯ СМЕНА ФОКУСА НА ДРУГОЕ ОКНО
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# ПЕРЕМЕЩЕНИЕ ФОКУСНОГО ОКНА
#bindsym $mod+Shift+Left move left
#bindsym $mod+Shift+Down move down
#bindsym $mod+Shift+Up move up
#bindsym $mod+Shift+Right move right

# АЛЬТЕРНАТИВНОЕ ПЕРЕМЕЩЕНИЕ ФОКУСНОГО ОКНА
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# ГОРИЗОНТАЛЬНАЯ ОРИЕНТАЦИЯ НОВОГО ОКНА
bindsym $mod+h split h

# ВЕРТИКАЛЬНАЯ ОРИЕНТАЦИЯ НОВОГО ОКНА
bindsym $mod+v split v

# СДЕЛАТЬ ОКНО ПЛАВАЮЩИМ
bindsym $mod+Shift+space floating toggle

# ПЕРЕКЛЮЧЕНИЕ ФОКУСА С ПЛАВАЮЩИХ ОКОН НА ТАЙЛИНГ
bindsym $mod+space focus mode_toggle

# ГАПСЫ
gaps inner 10
gaps outer 4
gaps top 40

#ШРИФТЫ
font pango:monospace 8

# ОТКЛЮЧЕНИЕ ЗАГОЛОВКА ОКНА
default_border pixel
focus_follows_mouse no


# РАЗМЕР РАМОК ОКНА
for_window [tiling] border pixel 4


set_from_resource $fg i3wm.color7 #f0f0f0
set_from_resource $bg i3wm.color2 #f0f0f0
# ЦВЕТ РАМОК
# Объект                Рамка   Фон    Индикатор  Родительская_рамка
client.focused          $bg     $bg     $fg  $bg       $bg
client.focused_inactive $bg     $bg     $fg  $bg       $bg
client.unfocused        $bg     $bg     $fg  $bg       $bg
client.urgent           $bg     $bg     $fg  $bg       $bg
client.placeholder      $bg     $bg     $fg  $bg       $bg
client.background       $bg

# ИМЕНА ВОРКСПЕЙСОВ И ИХ НОМЕРА
set $ws1 "1_1"
set $ws2 "2_2"
set $ws3 "3_3"
set $ws4 "4_4"
set $ws5 "5_5#"
set $ws6 "6_6#"
set $ws7 "7_7#"
set $ws8 "8_8#"
set $ws9 "9_9"
set $ws10 "10_10#"

# ПЕРЕКЛЮЧЕНИЕ ВОРКСПЕЙСОВ
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10

# ПЕРЕМЕЩЕНИЕ ОКНА НА ДРУГОЙ ВОРКСЕПАЙС
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10

# ПЕРЕЗАГРУСКА I3 ПОСЛЕ ПРАВОК КОНФИГА С СОХРАНЕНИЕМ СЕАНСА
bindsym $mod+Shift+r restart

# ROFI
bindsym $mod+d exec --no-startup-id ~/.config/i3/rofi/launcher/launcher.sh
bindsym $mod+Shift+p exec --no-startup-id ~/.config/i3/rofi/powermenu/powermenu.sh
